main(){
  // 数组就是List 等同于ArkTS  Array<string>
  // 语法：
  // 1.List<数组每一项的类型> 变量名 = 初始值;
  // 2.List 变量名 = 初始值;
   List<String> data1 = ['关羽','张飞','黄忠','马超','赵云'];
   List data2 = ['张三',18,true];
  // 1. 查询数组的长度
  print(data1.length);
  // 2.查询数组的指定元素
  print(data1[2]);
  // 3.修改数组的指定项
  data1[2] = '诸葛亮';
  print(data1);
  // 4.列表后追加1个(类似数组的push)
  data1.add('刘备');
  print(data1);
  // 5.列表后追加多个(类似数组合并)
  data1.addAll(['魏延','孟获']);
  print(data1);
  // 6.指定位置添加(类似于数组插入splice)
  data1.insert(1,'姜维');
  print(data1);
  // 7.使用索引删除
  data1.removeAt(7);
  print(data1);
  // 8.使用元素删除
  data1.remove('孟获');
  print(data1);
  // removeWhere类似于filter
  // removeLast删除最后一个
  // removeRange删除某一段
  // eg:
  // 写法1：箭头函数
  data1.removeWhere((item)=>item.length>=3);
  // 写法2：匿名函数
  // data1.removeWhere((item){
  //   return item.length>=3;
  // });
  print(data1);

  // 遍历数组
  // 1.for循环
  // for(var i = 0;i<data1.length;i++ ){
  //   print(data1[i]);
  // }
  // 2.for in
  for (var index in data1) {
      print(index);
  }
  // 3.forEach
  // data1.forEach((item){
  //   print(item);
  // });
}